6  Wizualizacja z pakietem lattice

Martyna Kosińska

6.1 📘 Zainstalowanie i wczytanie pakietu lattice

#install.packages("lattice")
library(lattice) 

6.2 📘 Przekształcenie zbioru danych

# Wykorzystany zostanie zbiór danych, który dostępny jest w R pod nazwą: airquality.
aq_data=airquality

# Przekształcenie zbioru danych poprzez zamianę kolumny Month na typu factor.
aq_data$Month=factor(aq_data$Month,
                     levels=c(5,6,7,8,9),
                     labels=c("maj","czerwiec","lipiec","sierpień","wrzesień"))
head(aq_data)
  Ozone Solar.R Wind Temp Month Day
1    41     190  7.4   67   maj   1
2    36     118  8.0   72   maj   2
3    12     149 12.6   74   maj   3
4    18     313 11.5   62   maj   4
5    NA      NA 14.3   56   maj   5
6    28      NA 14.9   66   maj   6

6.3 📘 Wykresy

6.3.1 Jądrowy estymator gęstości

# Jądrowy estymator gęstości zmiennej Temp (maksymalna temperatura).
densityplot(~Temp,data=aq_data)

# Jądrowy estymator gęstości zmiennej Temp osobno dla każdego z miesięcy.
densityplot(~Temp|Month, data=aq_data)

# Funkcja layout pozwala na zmianę ustawienia poszczególnych małych wykresów na wykresie ogólnym.
densityplot(~Temp|Month, 
            data=aq_data, 
            layout=c(5,1))

# Dodanie do wykresu: opisu osi OX i tytułu wykresu (w tym zapisania go w dwóch liniach zamiast jednej).
densityplot(~Temp|Month, 
            data=aq_data, 
            layout=c(5,1),
            xlab="maksymalna odnotowana temperatura",
            main="Estymacja gęstości rozkładu \nmaksymalnych temperatur w wybranych miesiącach")

6.3.2 Wykres rozrzutu

# Zestawienie średniego poziomu ozonu i przeciętnej prędkości wiatru w milach na godzinę.
xyplot(Ozone~Wind,data=aq_data)

# Osobne wykresy dla każdego z miesięcy.
xyplot(Ozone~Wind|Month,data=aq_data,layout=c(5,1))

# Wyselekcjonowanie danych dla miesięcy letnich (czerwiec-sierpień).
aq_data_new=aq_data[aq_data[,"Month"]=="czerwiec"|aq_data[,"Month"]=="lipiec"|aq_data[,"Month"]=="sierpień",]
aq_data_new$Month=factor(aq_data_new$Month,levels = c("czerwiec","lipiec","sierpień"),labels=c("czerwiec","lipiec","sierpień"))

# Wyróżnienie danych z poszczególnych miesięcy innym kolorem.
xyplot(Ozone~Wind,group=Month,data=aq_data_new,pch=19,col=c(2,3,4))

# Dodanie legendy.
xyplot(Ozone~Wind,group=Month,col=c(2,3,4),data=aq_data_new,
       pch=19,key=list(space="right",
       text = list(as.character(unique(aq_data_new$Month))),
                       points = list(pch = 19, col =2:4)))

6.3.3 Macierzowy wykres rozrzutu

splom(aq_data[,c("Ozone","Wind","Temp")])

6.3.4 Wykres pudełkowy

# Wykres pudełkowy przedstawiający poziom ozonu w wybranych miesiącach roku. 
# Dodanie opisów osi oraz zmniejszenie czcionki na osiach wykresu.
bwplot(Ozone~Month,data=aq_data,
       xlab="Miesiące",
       ylab="Poziom Ozonu",
       scales = list(cex=0.7))

# Dodanie koloru.
bwplot(Ozone~Month,data=aq_data,
       xlab="Miesiące",
       ylab="Poziom Ozonu",
       scales = list(cex=0.7),fill=rainbow(5))

6.3.5 Wykres słupkowy

# Wykorzystany zostanie wbudowany do R zbiór danycho nazwie: ChickWeight.
# Wykres zliczający ile pisklęć jest poddanych danej diecie.
barchart(ChickWeight$Diet,horizontal=F)

6.3.6 Histogram

# Wykorzystany zostanie wbudowany do R zbiór danych o nazwie: ChickWeight.
histogram(~weight,data=ChickWeight,
       type="count",
       xlab="Waga",
       main="Waga piskląt",
       col="pink")